from log 	import Log
from dados 	import Dados
from local 	import Local
from ftp 	import Ftp
from ftp_tls 	import Ftp_tls
from smb 	import Smb
from ssh 	import Ssh
from email_io 	import Email
from parametros	import Parametros

class Entrada:
	def __init__(self, dados, log):
		self.log   = log
		self.log.update('Entrada iniciada...')
		self.dados = dados

	def verifica(self, entrada):
		ret=False

		self.log.update('Verificando Entrada...\n')
		
		projeto=entrada[0]
		meio=entrada[1]
		servidor=entrada[2]
		usuario=entrada[3]
		senha=entrada[4]
		path=entrada[5]
		path_saida=''

		self.log.update('projeto=' + str(projeto) + ' - tipo=' + meio + ' - servidor=' + servidor + ' - path=' + path + '\n')
		#self.log.update('usuario=' + str(usuario) + ' - senha=' + str(senha) + '\n')

		if meio == 'disco':
			print "Opcao local"
			en	=Local(projeto, path, self.log)
			ret	=en.busca(path_saida)
		elif meio == 'ftp':
			print "Opcao ftp"
			en= Ftp(servidor, path, projeto, usuario, senha )
		elif meio == 'ftps':
			print "Opcao ftp_tls - nao implementada na verso 2.4.3 do python!!!"
			#en= Ftp_tls(servidor, path, projeto, usuario, senha )
		elif meio == 'ssh':
			print "Opcao ssh"
			en= Ssh(servidor,path)
		elif meio == 'smb':
			print "Opcao smb"
			en= Smb(servidor,path)
		elif meio == 'email':
			print "Opcao email"
			en= Email(servidor,path)
		elif meio == 'parametros':
			print "Opcao parametros"
			en= Parametros(projeto)
		else:
			print "Opcao nao exite"
		return ret
